Reactive Shared Objects for Interprocess Synchronization
نویسندگان
چکیده
In parallel processing environments such as multiprocessor systems, processes are synchronized using concurrent objects, which allow many concurrent processes to access them at the same time. The performance of these concurrent objects heavily relies on the load conditions of the surrounding environment (e.g. OS, other applications, interconnection network, etc.), which are variant and unpredictable due to indeterministic interferences among processes. Therefore, in order to minimize synchronization cost, a major overhead in parallel applications, we need to construct efficient concurrent objects that can react to the environment variations in order to achieve good performance under all possible system conditions. This thesis presents two new reactive shared objects: the reactive multi-word compareand-swap object and the self-tuning reactive tree. Themulti-word compare-and-swap objects are powerful constructs, which make the design of concurrent data objects much more effective and easier. The reactive multi-word compare-and-swap objects are advanced objects that dynamically measure the level of contention as well as the memory conflicts of the multi-word compare-and-swap operations, and in response, they react accordingly in order to guarantee good performance in a wide range of system conditions. We present two algorithms that are non-blocking (lock-free), allowing in this way a fast and dynamical behavior. The self-tuning reactive trees distribute a set of processes to smaller groups accessing different parts of the memory in a coordinated manner, and moreover reactively adjust their size in order to attain efficient performance across different levels of contention. We present a data structure that in an on-line manner balances the trade-off between the tree traversal latency and the latency due to contention at the tree leaves. The experiments on the SGI Origin2000, a well-known commercial ccNUMA multiprocessor, showed that the new reactive objects achieve significant improvements compared to previous results.
منابع مشابه
Parallel Computing in a World of Workstations
Todays computer systems consist of powerful workstations with fast communication links. However, until now network-based parallel computers which employ interconnected workstations as processing elements are not widely used. Poor programmability of those systems as a whole seems to be one of the main reasons. New language constructs, programming paradigms and techniques for managing memory in s...
متن کاملSelf-Stabilization of Wait-Free Shared Memory Objects
This paper proposes a general definition of self-stabilizing wait-free shared memory objects. The definition ensures that, even in the face of processor failures, every execution after a transient memory failure is linearizable except for an a priori bounded number of actions. Shared registers have been used extensively as communication medium in self-stabilizing protocols. As an application of...
متن کاملOn Composability, Efficient Design and Memory Reclamation of Lock-free Data Structures
The transition to multicore processors has brought synchronization, a fundamental challenge in computer science, into focus. In looking for solutions to the problem, interest has developed in the lock-free approach, which has been proven to achieve several advantages over the traditional mutual exclusion approach. This thesis studies challenges in interprocess synchronization in shared memory m...
متن کاملAn Interprocess Communications Design for Migrating Objects
In this paper, we describe a design for an object-oriented, interprocess communications subsystem that supports the migration of communication endpoints. All communication is connection-oriented and occurs between two endpoints, represented by Interface Objects (IObjs). A full-duplex connection between IObjs is implemented by one buuer ring per direction; the buuer rings are conceptually shared...
متن کاملTechnical Report no . 2002 - 02 NOBLE : A Non - Blocking Inter - Process Communication Library 1 Håkan Sundell
Many applications on shared memory multi-processor machines can benefit from the exploitation of parallelism that non-blocking synchronization offers. In this paper, we introduce a library support for multi-process non-blocking synchronization called NOBLE. NOBLE provides an interprocess communication interface that allows the user to select synchronization methods transparently to the one that...
متن کامل